package com.wongoing.apiclient.alipay.query;

import java.math.BigDecimal;
import java.math.BigInteger;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "body",
    "buyerEmail",
    "buyerId",
    "discount",
    "flagTradeLocked",
    "gmtCreate",
    "gmtLastModifiedTime",
    "gmtPayment",
    "isTotalFeeAdjust",
    "operatorRole",
    "outTradeNo",
    "paymentType",
    "price",
    "quantity",
    "sellerEmail",
    "sellerId",
    "subject",
    "timeOut",
    "timeOutType",
    "toBuyerFee",
    "toSellerFee",
    "totalFee",
    "tradeNo",
    "tradeStatus",
    "useCoupon"
})
@XmlRootElement(name = "trade")
public class Trade {

    @XmlElement(required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "NCName")
    protected String body;
    @XmlElement(name = "buyer_email", required = true)
    protected String buyerEmail;
    @XmlElement(name = "buyer_id", required = true)
    protected BigInteger buyerId;
    @XmlElement(required = true)
    protected BigDecimal discount;
    @XmlElement(name = "flag_trade_locked", required = true)
    protected BigInteger flagTradeLocked;
    @XmlElement(name = "gmt_create", required = true)
    protected String gmtCreate;
    @XmlElement(name = "gmt_last_modified_time", required = true)
    protected String gmtLastModifiedTime;
    @XmlElement(name = "gmt_payment", required = true)
    protected String gmtPayment;
    @XmlElement(name = "is_total_fee_adjust", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "NCName")
    protected String isTotalFeeAdjust;
    @XmlElement(name = "operator_role", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "NCName")
    protected String operatorRole;
    @XmlElement(name = "out_trade_no", required = true)
    protected BigInteger outTradeNo;
    @XmlElement(name = "payment_type", required = true)
    protected BigInteger paymentType;
    @XmlElement(required = true)
    protected BigDecimal price;
    @XmlElement(required = true)
    protected BigInteger quantity;
    @XmlElement(name = "seller_email", required = true)
    protected String sellerEmail;
    @XmlElement(name = "seller_id", required = true)
    protected BigInteger sellerId;
    @XmlElement(required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "NCName")
    protected String subject;
    @XmlElement(name = "time_out", required = true)
    protected String timeOut;
    @XmlElement(name = "time_out_type", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "NCName")
    protected String timeOutType;
    @XmlElement(name = "to_buyer_fee", required = true)
    protected BigDecimal toBuyerFee;
    @XmlElement(name = "to_seller_fee", required = true)
    protected BigDecimal toSellerFee;
    @XmlElement(name = "total_fee", required = true)
    protected BigDecimal totalFee;
    @XmlElement(name = "trade_no", required = true)
    protected BigInteger tradeNo;
    @XmlElement(name = "trade_status", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "NCName")
    protected String tradeStatus;
    @XmlElement(name = "use_coupon", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "NCName")
    protected String useCoupon;

    /**
     * ��ȡbody���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBody() {
        return body;
    }

    /**
     * ����body���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBody(String value) {
        this.body = value;
    }

    /**
     * ��ȡbuyerEmail���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBuyerEmail() {
        return buyerEmail;
    }

    /**
     * ����buyerEmail���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBuyerEmail(String value) {
        this.buyerEmail = value;
    }

    /**
     * ��ȡbuyerId���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getBuyerId() {
        return buyerId;
    }

    /**
     * ����buyerId���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setBuyerId(BigInteger value) {
        this.buyerId = value;
    }

    /**
     * ��ȡdiscount���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getDiscount() {
        return discount;
    }

    /**
     * ����discount���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setDiscount(BigDecimal value) {
        this.discount = value;
    }

    /**
     * ��ȡflagTradeLocked���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getFlagTradeLocked() {
        return flagTradeLocked;
    }

    /**
     * ����flagTradeLocked���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setFlagTradeLocked(BigInteger value) {
        this.flagTradeLocked = value;
    }

    /**
     * ��ȡgmtCreate���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getGmtCreate() {
        return gmtCreate;
    }

    /**
     * ����gmtCreate���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGmtCreate(String value) {
        this.gmtCreate = value;
    }

    /**
     * ��ȡgmtLastModifiedTime���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getGmtLastModifiedTime() {
        return gmtLastModifiedTime;
    }

    /**
     * ����gmtLastModifiedTime���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGmtLastModifiedTime(String value) {
        this.gmtLastModifiedTime = value;
    }

    /**
     * ��ȡgmtPayment���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getGmtPayment() {
        return gmtPayment;
    }

    /**
     * ����gmtPayment���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGmtPayment(String value) {
        this.gmtPayment = value;
    }

    /**
     * ��ȡisTotalFeeAdjust���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIsTotalFeeAdjust() {
        return isTotalFeeAdjust;
    }

    /**
     * ����isTotalFeeAdjust���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIsTotalFeeAdjust(String value) {
        this.isTotalFeeAdjust = value;
    }

    /**
     * ��ȡoperatorRole���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOperatorRole() {
        return operatorRole;
    }

    /**
     * ����operatorRole���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOperatorRole(String value) {
        this.operatorRole = value;
    }

    /**
     * ��ȡoutTradeNo���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getOutTradeNo() {
        return outTradeNo;
    }

    /**
     * ����outTradeNo���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setOutTradeNo(BigInteger value) {
        this.outTradeNo = value;
    }

    /**
     * ��ȡpaymentType���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getPaymentType() {
        return paymentType;
    }

    /**
     * ����paymentType���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setPaymentType(BigInteger value) {
        this.paymentType = value;
    }

    /**
     * ��ȡprice���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * ����price���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setPrice(BigDecimal value) {
        this.price = value;
    }

    /**
     * ��ȡquantity���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getQuantity() {
        return quantity;
    }

    /**
     * ����quantity���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setQuantity(BigInteger value) {
        this.quantity = value;
    }

    /**
     * ��ȡsellerEmail���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSellerEmail() {
        return sellerEmail;
    }

    /**
     * ����sellerEmail���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSellerEmail(String value) {
        this.sellerEmail = value;
    }

    /**
     * ��ȡsellerId���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getSellerId() {
        return sellerId;
    }

    /**
     * ����sellerId���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setSellerId(BigInteger value) {
        this.sellerId = value;
    }

    /**
     * ��ȡsubject���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSubject() {
        return subject;
    }

    /**
     * ����subject���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSubject(String value) {
        this.subject = value;
    }

    /**
     * ��ȡtimeOut���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTimeOut() {
        return timeOut;
    }

    /**
     * ����timeOut���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTimeOut(String value) {
        this.timeOut = value;
    }

    /**
     * ��ȡtimeOutType���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTimeOutType() {
        return timeOutType;
    }

    /**
     * ����timeOutType���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTimeOutType(String value) {
        this.timeOutType = value;
    }

    /**
     * ��ȡtoBuyerFee���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getToBuyerFee() {
        return toBuyerFee;
    }

    /**
     * ����toBuyerFee���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setToBuyerFee(BigDecimal value) {
        this.toBuyerFee = value;
    }

    /**
     * ��ȡtoSellerFee���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getToSellerFee() {
        return toSellerFee;
    }

    /**
     * ����toSellerFee���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setToSellerFee(BigDecimal value) {
        this.toSellerFee = value;
    }

    /**
     * ��ȡtotalFee���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getTotalFee() {
        return totalFee;
    }

    /**
     * ����totalFee���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setTotalFee(BigDecimal value) {
        this.totalFee = value;
    }

    /**
     * ��ȡtradeNo���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTradeNo() {
        return tradeNo;
    }

    /**
     * ����tradeNo���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTradeNo(BigInteger value) {
        this.tradeNo = value;
    }

    /**
     * ��ȡtradeStatus���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTradeStatus() {
        return tradeStatus;
    }

    /**
     * ����tradeStatus���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTradeStatus(String value) {
        this.tradeStatus = value;
    }

    /**
     * ��ȡuseCoupon���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getUseCoupon() {
        return useCoupon;
    }

    /**
     * ����useCoupon���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUseCoupon(String value) {
        this.useCoupon = value;
    }

}
